home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / dtk_demo.zip / DSKPARAM.C < prev    next >
C/C++ Source or Header  |  1991-09-12  |  2KB  |  67 lines

  1. /*  DSKPARAM.C
  2.  *  last mod.: 31-AUG-91
  3.  */
  4.  
  5. #include <STDIO.H>
  6. #include <CONIO.H>
  7.  
  8. #include <L_DISK.H>
  9. /*#include <L_FILE.H>*/
  10. #include <L_MISC.H>
  11.  
  12. /*-----------*/
  13. void main(void)
  14. {
  15. Uchar drive = 'A' - 1;
  16. struct drive_parameter_block_t dpb;
  17.  
  18. while ( TRUE )
  19.     {
  20.     if ( ++drive <= 'B' )
  21.         {
  22.         if ( !bios_disk_present(drive-'A') )
  23.             {
  24.             printf("\nDisk not present in drive %c.\n",drive);
  25.             /*  perhaps because there is no such drive  */
  26.             continue;
  27.             }
  28.         }
  29.     if ( get_drive_parameter_block(drive,&dpb) == -1 )
  30.         return;
  31.     printf("\nDrive parameter block for disk in drive %c:\n",drive);
  32.     printf("Drive number = %d\n",
  33.         dpb.drive_number);
  34.     printf("Device driver unit number =  %d\n",
  35.         dpb.device_driver_unit_number);
  36.     printf("Bytes per sector = %u\n",
  37.         dpb.bytes_per_sector);
  38.     printf("Sectors per cluster = %d\n",
  39.         dpb.sectors_per_cluster);
  40.     printf("Shift factor = %d\n",
  41.         dpb.shift_factor);
  42.     printf("Number of reserved boot sectors = %u\n",
  43.         dpb.num_reserved_boot_sectors);
  44.     printf("Number of FATs = %d\n",
  45.         dpb.num_fat_copies);
  46.     printf("Number of root directory entries = %u\n",
  47.         dpb.num_root_directory_entries);
  48.     printf("Offset to first data sector = %u\n",
  49.         dpb.first_data_sector_offset);
  50.     printf("Number of clusters = %u\n",
  51.         dpb.num_clusters);
  52.     printf("Sectors per FAT = %u\n",
  53.         dpb.sectors_per_fat);
  54.     printf("Offset to first root directory sector = %u\n",
  55.         dpb.first_root_dir_sector_offset);
  56.     printf("Device driver address = %Fp\n",
  57.         dpb.device_driver_address);
  58.     printf("Media descriptor byte = %02X\n",
  59.         dpb.media_descriptor_byte);
  60.     if ( !output_redirected() )
  61.         {
  62.         printf("Press a key ... \n");
  63.         getch();
  64.         }
  65.     }
  66. }
  67.